Skip to content

Conversation

@haraldschilly
Copy link
Contributor

@haraldschilly haraldschilly commented Oct 24, 2025

just getting started. with the code here, there are aria landmarks with labels. those labels describe what this is (e.g. a jupyter cell, its number, type, and if it is active). Such descriptive labels are useful for those browsers, that read out loud the labels.

here is aria landmarks highlighting all so far. what I don't know yet, how to navigate with the keyboard. there must be a way, though, since this is a tree and has horizontal and vertical orientation.

Screenshot from 2025-10-24 13-15-46

@haraldschilly haraldschilly force-pushed the aria-20251024 branch 6 times, most recently from 1d0860d to c94b46b Compare October 24, 2025 11:32
haraldschilly and others added 2 commits October 28, 2025 11:52
Enhanced ARIA accessibility for the core editor frame system (Phase 10) with comprehensive landmark labels and live region support:

**Frame Tree System (title-bar.tsx)**:
- Menu navigation: Changed div to <nav> with aria-label
- Frame controls region: Added role="region" with layout controls label
- Symbol/outline bar: Added role="region" with descriptive label
- Control buttons: Added aria-labels to split, maximize, minimize, close buttons
- Connection status: Added aria-live="polite" for real-time updates
- All buttons: Added aria-expanded for dynamic state indication

**Editor Container (editor.tsx)**:
- Added role="application" with context-aware aria-label including editor type and path
- Enables proper keyboard navigation and focus management

**Status Bar (status-bar.tsx)**:
- Converted to ARIA live region with role="status"
- Added aria-live="polite" and aria-atomic="true" for status announcements
- Made clear button keyboard accessible

**Icon Component Enhancement (components/icon.tsx)**:
- Added ARIA attribute support (role, aria-label, aria-expanded, aria-pressed, aria-live, tabIndex)
- Enables Icon to be used with accessibility roles like "button"
- Updated unicode and icon rendering paths to pass ARIA attributes

**Testing**:
- Build successful: pnpm build-dev in packages/static ✅

🧠 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@haraldschilly haraldschilly force-pushed the aria-20251024 branch 9 times, most recently from e303368 to 84c24f1 Compare October 28, 2025 14:16
Document the pattern of applying ARIA attributes directly to Ant Design
components that support them, rather than wrapping in unnecessary divs.

Example:
- ✅ <Space.Compact role="region" aria-label="Zoom controls">
- ❌ <div role="region"><Space.Compact>

Also note that components should forward ARIA props to their DOM elements.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants